The paper proposes a more formalized definition of UML 2.0 Activity Diagramsemantics. A subset of activity diagram constructs relevant for businessprocess modeling is considered. The semantics definition is based on theoriginal token flow methodology, but a more constructive approach is used. TheActivity Diagram Virtual machine is defined by means of a metamodel, withoperations defined by a mix of pseudocode and OCL pre- and postconditions. Aformal procedure is described which builds the virtual machine for any activitydiagram. The relatively complicated original token movement rules in controlnodes and edges are combined into paths from an action to action. A newapproach is the use of different (push and pull) engines, which move tokensalong the paths. Pull engines are used for paths containing join nodes, wherethe movement of several tokens must be coordinated. The proposed virtualmachine approach makes the activity semantics definition more transparent wherethe token movement can be easily traced. However, the main benefit of theapproach is the possibility to use the defined virtual machine as a basis forUML activity diagram based workflow or simulation engine.
展开▼